import { useCartStore } from '@/store/cart.js'
const store = useCartStore();

let baseUrl = "https://niu2.namomei.cn/";
const request = ({
	url = '',
	data = {},
	method = 'POST',
	header = {
		ApiToken: store.token || null
	},
	hideLoading = false,
}) => {
	// const userStore = useUserStore();

	return new Promise((resolve, reject) => {
		// if (!hideLoading) {
		//   uni.showLoading({});
		// }
		
		uni.request({
			timeout: 60000,
			method,
			url: baseUrl + url,
			data,
			header,
			success(response) {
				// if (!hideLoading) {
				// 	uni.hideLoading();
				// }
				let res = response.data;
				// 请求成功，状态码不等于200，报错处理
				if (res.code !== 200) {
					uni.showToast({
						title: res.msg,
						icon: 'none',
						duration: 1000,
					});
					
					// 登录过期
					if (res.code == 401) {
						store.setToken('');
						uni.showToast({
							title: res.msg,
							icon: 'none',
							duration: 1000,
						});
						setTimeout(() => {
							uni.navigateTo({
								url: '/pages/login/login'
							})
						}, 1000)
					}
					reject(res || 'Error'); 
					// if (hideMessage) {
					// 	reject(res || 'Error');
					// } else {
					// 	if (res.resultCode === 3 || res.resultCode === -5) {
					// 		// hideMessage 是否隐藏错误提示
					// 		uni.showToast({
					// 			title: res.resultMessage,
					// 			icon: 'none',
					// 			duration: 3000,
					// 		});
					// 	} else if (res.resultCode === -4) {
					// 		//
					// 	} else {
					// 		// to re-login
					// 		uni.showModal({
					// 			title: '提示',
					// 			content: '登录失效，请重新登录！',
					// 			confirmColor: '#0087FF',
					// 			cancelColor: '#0087FF',
					// 			success: function(res) {
					// 				if (res.confirm) {
					// 					// //*清空缓存重新登录
					// 					// userStore.resetToken().then(() => {
					// 					// 	uni.navigateTo({
					// 					// 		url: '/subPackagesA/personal/chooseLoginType',
					// 					// 	});
					// 					// });
					// 				}
					// 			},
					// 		});
					// 	}
					// }
				} else {
					// 成功直接返回promise
					resolve(res);
				}
			},
			fail(err) {
				reject(err);
			},
		});
	});
};
export default request;